package greedy;

/**
 * @author tongchen
 * @create 2023-03-09 8:09
 */
public class ConferenceForViolence {
    public static void main(String[] args) {

    }
    //创建不断递归的主方法
    public  int process(Conference[]programs,int done,int timeLine){
        //出口条件：判断所有的事务是否都已完成
        if( 0==programs.length){
            return 0;
        }
        //继承上面做的事务数量
        int max=done;
        //循环：处理当前事务，并判断下面的事务(以当前事务为第一个事务，不断进行暴力枚举)
        for(int i=0;i<programs.length;++i){
            if(programs[i].start>=timeLine){
                //没有需要处理的，直接跨入下一个
                Conference[] conferences = copyButExpect(programs, i);
            max=Math.max(max,  process(conferences, done+1, programs[i].end));
            }
        }
        return max;
    }
    //创建获取新数组的方法
    public Conference[] copyButExpect(Conference[]programs,int i){
        //创建新的数组
        Conference[] arr=new Conference[programs.length-1];
        int count=0;
        //定义计数器
        for(int k=0;k< programs.length;++i){
            if(k!=i){
                arr[count++]=programs[k];
            }
        }
        return arr;
    }

}
